An important aspect of modern data transmission is the ability to compress and decompress data to provide for greater data transfer rates. These concerns are particularly apparent in dealing with video data transmission due to the large amounts of data involved. Full motion video involves the encoding, transmission, decoding and display of on the order of thirty frames or images per second depending upon the resolution and size of the image. The amount of data to be transferred involved in these applications can become quite large and hence the data transmission problem can become quite difficult.
The problems inherent in transmitting video data are aided by the fact that sequential frames of video data often have large amounts of redundancy in that the image does not change greatly from one split second to another. Because of this fact, differential signals can be encoded which communicate the differences between one frame of video data and a neighboring frame of video data. In addition, objects within a single image can be tracked and their motion can be expressed as a motion vector which can also be encoded. In this manner, the data needed to encode an object moving across an image can be greatly reduced by encoding the data associated with the object and then encoding motion vectors to indicate where the object has moved in sequential frames.
A significant amount of data processing is required to decode the compressed images, the prediction information expressed in differential data and the motion compensation vector information all of which are contained within a compressed and encoded data stream. The data processing involved in the decoding process involves significant memory access due to the fact that neighboring images are used during the decoding process. Due to the use of these various techniques of data compression, the ability to access memory has become a critical factor in the speed and operability of the video data decoding systems.